package com.alks.entity.data.entity.dispatch;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class LotHead implements Serializable {
    private static final long serialVersionUID = -9012226202749175296L;
    private @NotBlank(
    message = "指令不能为空"
) String lotNo;
    private String style;
    private String color;
    private String brand;
    private String custom;
    private String orderCustom;
    private Integer orderQty;
    private Integer surplusQty;
    private String userId;
    private Date sysDate;
    private String companyId;
    private String cutDept;
    private String stitchDept;
    private String lastDept;
    private String moldNo;
    private String lastNo;
    @JsonFormat(
        pattern = "yyyy-MM-dd"
    )
    private Date deliveryDate;
    private String cfmFlag;
    private String cfmUser;
    private Date cfmDate;
    private String moveFlag;
    private String processAll;
    private String processCut01;
    private String processCut02;
    private String processCut03;
    private String processStitch;
    private String processLast;
    private String cancelFlag;
    private String cancelUser;
    private String cancelDate;
    private String outFlag;
    private String developmentNo;
    private String orderSeq;
    private String soleVendor;
    @JsonFormat(
        pattern = "yyyy-MM-dd"
    )
    private Date orderDate;
    private String lotRemark;
    private String packing;
    private String country;
    private String styleType;
    private Date mtlReqDate;
    private Integer lotStatus;
    private Integer lSurplusQty;
    private Integer sSurplusQty;
    private String lotFact;
    private String mitc;
    private Date checkDate;
    private Date crdDate;
    private Date poddDate;
    private String sizeType;
    private String customNo;
    private String customPo;
    private String generateFlag;
    private String generateUser;
    private Date generateDate;
    private String mSize;
    private String baseSize;
    private String colorCode;
    private String cutNo;
    private String checkFlag;
    private String checkUser;
    private String lacing;
    private String splitRemark;
    @JsonIgnore
    private String searchKey;
    @JsonIgnore
    Map<String, Object> params;
    private Date newDeliveryDate;
    private String combineLotNo;
    private String shipCustom;
    private String season;
    private String groupNo;

    public LotHead() {
    }

    public String getGroupNo() {
        return this.groupNo;
    }

    public void setGroupNo(String groupNo) {
        this.groupNo = groupNo;
    }

    public String getOrderCustom() {
        return this.orderCustom;
    }

    public void setOrderCustom(String orderCustom) {
        this.orderCustom = orderCustom;
    }

    public String getShipCustom() {
        return this.shipCustom;
    }

    public void setShipCustom(String shipCustom) {
        this.shipCustom = shipCustom;
    }

    public String getSeason() {
        return this.season;
    }

    public void setSeason(String season) {
        this.season = season;
    }

    public String getLotNo() {
        return this.lotNo;
    }

    public void setLotNo(String lotNo) {
        this.lotNo = lotNo;
    }

    public String getStyle() {
        return this.style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

    public String getColor() {
        return this.color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getBrand() {
        return this.brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getCustom() {
        return this.custom;
    }

    public void setCustom(String custom) {
        this.custom = custom;
    }

    public Integer getOrderQty() {
        return this.orderQty;
    }

    public void setOrderQty(Integer orderQty) {
        this.orderQty = orderQty;
    }

    public Integer getSurplusQty() {
        return this.surplusQty == null ? 0 : this.surplusQty;
    }

    public void setSurplusQty(Integer surplusQty) {
        this.surplusQty = surplusQty;
    }

    public String getUserId() {
        return this.userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Date getSysDate() {
        return this.sysDate;
    }

    public void setSysDate(Date sysDate) {
        this.sysDate = sysDate;
    }

    public String getCompanyId() {
        return this.companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCutDept() {
        return this.cutDept;
    }

    public void setCutDept(String cutDept) {
        this.cutDept = cutDept;
    }

    public String getStitchDept() {
        return this.stitchDept;
    }

    public void setStitchDept(String stitchDept) {
        this.stitchDept = stitchDept;
    }

    public String getLastDept() {
        return this.lastDept;
    }

    public void setLastDept(String lastDept) {
        this.lastDept = lastDept;
    }

    public String getMoldNo() {
        return this.moldNo;
    }

    public void setMoldNo(String moldNo) {
        this.moldNo = moldNo;
    }

    public String getLastNo() {
        return this.lastNo;
    }

    public void setLastNo(String lastNo) {
        this.lastNo = lastNo;
    }

    public Date getDeliveryDate() {
        return this.deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public String getCfmFlag() {
        return this.cfmFlag;
    }

    public void setCfmFlag(String cfmFlag) {
        this.cfmFlag = cfmFlag;
    }

    public String getCfmUser() {
        return this.cfmUser;
    }

    public void setCfmUser(String cfmUser) {
        this.cfmUser = cfmUser;
    }

    public Date getCfmDate() {
        return this.cfmDate;
    }

    public void setCfmDate(Date cfmDate) {
        this.cfmDate = cfmDate;
    }

    public String getMoveFlag() {
        return this.moveFlag;
    }

    public void setMoveFlag(String moveFlag) {
        this.moveFlag = moveFlag;
    }

    public String getProcessAll() {
        return this.processAll;
    }

    public void setProcessAll(String processAll) {
        this.processAll = processAll;
    }

    public String getProcessCut01() {
        return this.processCut01;
    }

    public void setProcessCut01(String processCut01) {
        this.processCut01 = processCut01;
    }

    public String getProcessCut02() {
        return this.processCut02;
    }

    public void setProcessCut02(String processCut02) {
        this.processCut02 = processCut02;
    }

    public String getProcessCut03() {
        return this.processCut03;
    }

    public void setProcessCut03(String processCut03) {
        this.processCut03 = processCut03;
    }

    public String getProcessStitch() {
        return this.processStitch;
    }

    public void setProcessStitch(String processStitch) {
        this.processStitch = processStitch;
    }

    public String getProcessLast() {
        return this.processLast;
    }

    public void setProcessLast(String processLast) {
        this.processLast = processLast;
    }

    public String getCancelFlag() {
        return this.cancelFlag;
    }

    public void setCancelFlag(String cancelFlag) {
        this.cancelFlag = cancelFlag;
    }

    public String getCancelUser() {
        return this.cancelUser;
    }

    public void setCancelUser(String cancelUser) {
        this.cancelUser = cancelUser;
    }

    public String getCancelDate() {
        return this.cancelDate;
    }

    public void setCancelDate(String cancelDate) {
        this.cancelDate = cancelDate;
    }

    public String getOutFlag() {
        return this.outFlag;
    }

    public void setOutFlag(String outFlag) {
        this.outFlag = outFlag;
    }

    public String getDevelopmentNo() {
        return this.developmentNo;
    }

    public void setDevelopmentNo(String developmentNo) {
        this.developmentNo = developmentNo;
    }

    public String getOrderSeq() {
        return this.orderSeq;
    }

    public void setOrderSeq(String orderSeq) {
        this.orderSeq = orderSeq;
    }

    public String getSoleVendor() {
        return this.soleVendor;
    }

    public void setSoleVendor(String soleVendor) {
        this.soleVendor = soleVendor;
    }

    public Date getOrderDate() {
        return this.orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public String getLotRemark() {
        return this.lotRemark;
    }

    public void setLotRemark(String lotRemark) {
        this.lotRemark = lotRemark;
    }

    public String getPacking() {
        return this.packing;
    }

    public void setPacking(String packing) {
        this.packing = packing;
    }

    public String getCountry() {
        return this.country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getStyleType() {
        return this.styleType;
    }

    public void setStyleType(String styleType) {
        this.styleType = styleType;
    }

    public Date getMtlReqDate() {
        return this.mtlReqDate;
    }

    public void setMtlReqDate(Date mtlReqDate) {
        this.mtlReqDate = mtlReqDate;
    }

    public String getLotFact() {
        return this.lotFact;
    }

    public void setLotFact(String lotFact) {
        this.lotFact = lotFact;
    }

    public String getMitc() {
        return this.mitc;
    }

    public void setMitc(String mitc) {
        this.mitc = mitc;
    }

    public Date getCheckDate() {
        return this.checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    public Date getCrdDate() {
        return this.crdDate;
    }

    public void setCrdDate(Date crdDate) {
        this.crdDate = crdDate;
    }

    public Date getPoddDate() {
        return this.poddDate;
    }

    public void setPoddDate(Date poddDate) {
        this.poddDate = poddDate;
    }

    public String getSizeType() {
        return this.sizeType;
    }

    public void setSizeType(String sizeType) {
        this.sizeType = sizeType;
    }

    public String getCustomNo() {
        return this.customNo;
    }

    public void setCustomNo(String customNo) {
        this.customNo = customNo;
    }

    public String getCustomPo() {
        return this.customPo;
    }

    public void setCustomPo(String customPo) {
        this.customPo = customPo;
    }

    public String getGenerateFlag() {
        return this.generateFlag;
    }

    public void setGenerateFlag(String generateFlag) {
        this.generateFlag = generateFlag;
    }

    public String getGenerateUser() {
        return this.generateUser;
    }

    public void setGenerateUser(String generateUser) {
        this.generateUser = generateUser;
    }

    public Date getGenerateDate() {
        return this.generateDate;
    }

    public void setGenerateDate(Date generateDate) {
        this.generateDate = generateDate;
    }

    public String getmSize() {
        return this.mSize;
    }

    public void setmSize(String mSize) {
        this.mSize = mSize;
    }

    public String getColorCode() {
        return this.colorCode;
    }

    public void setColorCode(String colorCode) {
        this.colorCode = colorCode;
    }

    public String getCutNo() {
        return this.cutNo;
    }

    public void setCutNo(String cutNo) {
        this.cutNo = cutNo;
    }

    public String getCheckFlag() {
        return this.checkFlag;
    }

    public void setCheckFlag(String checkFlag) {
        this.checkFlag = checkFlag;
    }

    public String getCheckUser() {
        return this.checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    public Integer getLotStatus() {
        return this.lotStatus;
    }

    public void setLotStatus(Integer lotStatus) {
        this.lotStatus = lotStatus;
    }

    public Integer getlSurplusQty() {
        return this.lSurplusQty;
    }

    public void setlSurplusQty(Integer lSurplusQty) {
        this.lSurplusQty = lSurplusQty;
    }

    public Integer getsSurplusQty() {
        return this.sSurplusQty;
    }

    public void setsSurplusQty(Integer sSurplusQty) {
        this.sSurplusQty = sSurplusQty;
    }

    public String getSearchKey() {
        return this.searchKey;
    }

    public void setSearchKey(String searchKey) {
        this.searchKey = searchKey;
    }

    public Map<String, Object> getParams() {
        if (this.params == null) {
            this.params = new HashMap();
        }

        return this.params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }

    public String getBaseSize() {
        return this.baseSize;
    }

    public void setBaseSize(String baseSize) {
        this.baseSize = baseSize;
    }

    public int realOrderQty() {
        int total = this.orderQty == null ? 0 : this.orderQty;
        total += this.surplusQty == null ? 0 : this.surplusQty;
        return total;
    }

    public String getLacing() {
        return this.lacing;
    }

    public void setLacing(String lacing) {
        this.lacing = lacing;
    }

    public Date getNewDeliveryDate() {
        return this.newDeliveryDate;
    }

    public void setNewDeliveryDate(Date newDeliveryDate) {
        this.newDeliveryDate = newDeliveryDate;
    }

    public String getSplitRemark() {
        return this.splitRemark;
    }

    public void setSplitRemark(String splitRemark) {
        this.splitRemark = splitRemark;
    }

    public String getCombineLotNo() {
        return this.combineLotNo;
    }

    public void setCombineLotNo(String combineLotNo) {
        this.combineLotNo = combineLotNo;
    }
}
